---
layout: homepage
title: Dart programming language
description: Dart is a language optimized for client-side development for web and mobile.
---
<section id="code-sample-section">
<div class="container">
  <div class="row banner__frontpage-row">
    <div class="col-sm-12">
      <div class="content">
        {% capture banner %}{% include banner-fp.md %}{% endcapture %}
        {{ banner | markdownify }}
      </div>
    </div>
  </div>
  <div class="row">
    <div class="col-sm-7 col-lg-6">
      <div id="code-sample" class="content">
        {% comment %}
        Awaiting fix to https://github.com/dart-lang/site-www/issues/668
        <a href="https://dartpad.dartlang.org/fb763a4a770b5cdd896982e10ccf4118" class='codesample__open-in-dartpad no-automatic-external' target='_blank'>Open in DartPad</a>
        {% endcomment %}
        {% include_relative _main-example.html %}
      </div>
    </div>
    <div class="col-sm-5 col-lg-6">
      <div class="content">
        <div class="frontpage-slogan-with-footnotes">
          <div class="frontpage-slogan">
            <h3>
              Dart helps you craft beautiful, high-quality experiences
              across all screens, with:
              <ul>
                <li> A <a tabindex="0" role="button" data-toggle="popover" data-content="Dart started out being optimized for web apps, and is evolving to provide great support for mobile apps. Dart also runs on the command line and server-side.">client-optimized</a> language </li>
                <li> Rich, powerful <a tabindex="0" role="button" data-toggle="popover" data-content="For mobile apps, we recommend <a href='https://flutter.io'>Flutter</a>. For desktop apps, <a href='https://webdev.dartlang.org/angular'>AngularDart</a>.">frameworks</a> </li>
                <li> Delightful, flexible <a tabindex="0" role="button" data-toggle="popover" data-content="These range from <a href='/tools'>general-purpose tools</a> to framework-specific ones like the <a href='https://flutter.io/getting-started'><code>flutter</code> tool</a>.">tooling</a>
                </li>
              </ul>
              <p>
                <a href="/guides/get-started" class="frontpage-slogan__get-started btn btn-default btn-lg">Get started</a>
                <a href="/install" class="btn btn-lg">Install Dart</a>
              </p>
            </h3>
            <p> <em>Click the
              <a tabindex="0" role="button" data-toggle="popover" data-content="In the text above and in the code sample, click dotted underlines to get more details.">underlined text</a>
            to learn more.</em> </p>
        </div>
      </div>
    </div>
  </div>
</div>
</section>

<section class="card-grid-section">
  <div class="container">
    <div class="row">
      <div class="col-sm-12">
        <div class="content">
          <div class="card-grid">
            <div class="card">
              <h4><a href="/guides/language/language-tour">Language tour</a></h4>
              <p>Learn how to use Dart's major language features.</p>
            </div>
            <div class="card">
              <h4><a href="/guides/platforms">Platforms</a></h4>
              <p>Use Dart to build mobile apps, web apps, and more.</p>
            </div>
            <div class="card">
              <h4><a href="https://pub.dartlang.org/">Dart packages</a></h4>
              <p>Discover libraries and tools to help you build apps.</p>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</section>

<section>
  <div class="container">
    <div class="row">
      <div class="col-sm-5 col-lg-4">
        <div class="content">
          <h1>Why Dart?</h1>
          <p class="lead">
            Developers at Google and elsewhere use Dart to create
            high-quality, mission-critical apps for iOS, Android, and the web.
            With features aimed at client-side development,
            Dart is a great fit for both mobile and web apps.
          </p>
        </div>
      </div>
      <div class="col-sm-7 col-lg-8">
        <div class="content">

          <h2 class="core-goals__first">Productive</h2>
          <p>
            Dart’s syntax is clear and concise,
            its tooling simple yet powerful.
            Sound typing helps you to identify subtle errors early.
            Dart has battle-hardened
            <a href="/guides/libraries/library-tour">core libraries</a> and an
            <a href="https://pub.dartlang.org/">ecosystem</a> of
            thousands of packages.
          </p>

          <h2>Fast</h2>
          <p>
            Dart provides optimizing ahead-of-time compilation to get
            predictably high performance and fast startup across
            mobile devices and the web.
          </p>

          <h2>Portable</h2>
          <p>
            Dart compiles to ARM and x86 code, so that Dart mobile apps
            can run natively on iOS, Android, and beyond.
            For web apps, Dart transpiles to JavaScript.
          </p>

          <h2>Approachable</h2>
          <p>
            Dart is familiar to many existing developers,
            thanks to its unsurprising object orientation and syntax.
            If you already know C++, C#, or Java, you can be
            productive with Dart in just a few days.
          </p>

          <h2>Reactive</h2>
          <p>
            Dart is well-suited to reactive programming, with support for
            managing short-lived objects—such as UI widgets—through
            Dart’s fast object allocation and generational garbage collector.
            Dart supports asynchronous programming through
            language features and APIs that use
            <a href="/guides/libraries/library-tour#future">Future</a> and
            <a href="/guides/libraries/library-tour#stream">Stream</a> objects.
          </p>
        </div>
      </div>
    </div>
  </div>
</section>
